//package linkedlist;
//public class no705 {
//
//}
///**
// * void add(key) 向哈希集合中插入值 key 。
// * bool contains(key) 返回哈希集合中是否存在这个值 key 。
// * void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值，什么也不做。
// */
//class MyHashSet {
//    ListNode[] set;
//    public final int BASE = 769;
//    public MyHashSet() {
//        set = new ListNode[BASE];
//    }
//    public void add(int key) {
//        int index = key % BASE;
//        ListNode cur = set[index];
//        ListNode prev = cur;
//        if (cur == null){
//            set[index] = new ListNode(key);
//            return;
//        }
//        while (cur != null){
//            if (cur.val == key){
//                return;
//            }
//            if (cur.next == null){
//                prev = cur;
//            }
//            cur = cur.next;
//        }
//        prev.next = new ListNode(key);
//    }
//    public void remove(int key) {
//        int index = key % BASE;
//        ListNode cur = set[index];
//        ListNode prev = cur;
//        while (cur != null){
//            if (cur.val == key){
//                if (cur == prev){
//                    set[index] = set[index].next;
//                    return;
//                }else{
//                    prev.next = cur.next;
//                    return;
//                }
//            }
//            prev = cur;
//            cur = cur.next;
//        }
//    }
//    public boolean contains(int key) {
//        int index = key % BASE;
//        ListNode cur = set[index];
//        while (cur != null){
//            if(cur.val == key){
//                return true;
//            }
//            cur = cur.next;
//        }
//        return false;
//    }
//}